#include "Thread.hpp"
#include<unistd.h>
#include<vector>

//把线程模块带进来
using namespace ThreadModlue;

int main()
{
    //这个是多线程创建
    std::vector<Thread> threads;
    for(int i = 0 ; i < 10;i++)
    {
        threads.emplace_back([](){
            while(true)
            {
                char name[128];
                pthread_getname_np(pthread_self(),name,sizeof(name));
                std::cout<<"我是一个新线程"<<name<<std::endl;    
                sleep(1);
            }
        });
    }

    for(auto &thread:threads)
    {
        thread.Start();
    }

    for(auto &thread:threads)
    {
        thread.Join();
    }


// //创建一个线程对象   Thread，拥有开始跑线程，等待线程，分离，停止
//     Thread t([](){               //创建线程时需要指明要让这个线程做什么！
//         while(true)
//         {
//             char name[128];
//             pthread_getname_np(pthread_self(),name,sizeof(name));
//             std::cout << "我是新线程" << name << std::endl;
//             sleep(1);
//         }
//     });      

//     t.Start();
//     t.Detach();

//     sleep(5);

//     t.Stop();
//     sleep(5);
    
//     t.Join();

    return 0;
}
